package com.seafood.dto;

import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 支付请求DTO
 */
@Data
public class PaymentRequestDTO {
    
    @NotNull(message = "订单ID不能为空")
    private Long orderId;
    
    @NotBlank(message = "订单号不能为空")
    private String orderNumber;
    
    @NotNull(message = "支付金额不能为空")
    @DecimalMin(value = "0.01", message = "支付金额必须大于0")
    private BigDecimal amount;
    
    @NotBlank(message = "支付方式不能为空")
    private String paymentMethod; // alipay, wechat, bank
    
    private String subject; // 订单标题
    
    private String description; // 订单描述
    
    private String returnUrl; // 支付成功后跳转地址
    
    private String notifyUrl; // 异步通知地址
    
    private String clientIp; // 客户端IP
    
    private Long userId; // 用户ID
}